package com.pearadmin.system.service;

import java.util.List;
import com.github.pagehelper.PageInfo;
import com.pearadmin.common.web.domain.request.PageDomain;
import com.pearadmin.system.domain.ReportBaseinfo;
import com.pearadmin.system.domain.model.ReportBaseinfoModel;

/**
 * 报告基本信息Service接口
 *
 * @author ZSX
 * @date 2021-04-09
 */
public interface IReportBaseinfoService
{
    /**
     * 查询报告基本信息
     *
     * @param id 报告基本信息ID
     * @return 报告基本信息
     */
    ReportBaseinfo selectReportBaseinfoById(Integer id);


    /**
    * 查询报告基本信息
     * @param ${classsName} 报告基本信息
     * @param pageDomain
     * @return 报告基本信息 分页集合
     * */
    PageInfo<ReportBaseinfo> selectReportBaseinfoPage(ReportBaseinfo reportBaseinfo, PageDomain pageDomain);

    /**
     * 查询报告基本信息列表
     *
     * @param reportBaseinfo 报告基本信息
     * @return 报告基本信息集合
     */
    List<ReportBaseinfo> selectReportBaseinfoList(ReportBaseinfo reportBaseinfo);

    /**
     * 新增报告基本信息
     *
     * @param reportBaseinfo 报告基本信息
     * @return 结果
     */
    int insertReportBaseinfo(ReportBaseinfo reportBaseinfo);

    /**
     * 修改报告基本信息
     *
     * @param reportBaseinfo 报告基本信息
     * @return 结果
     */
    int updateReportBaseinfo(ReportBaseinfo reportBaseinfo);

    /**
     * 批量删除报告基本信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteReportBaseinfoByIds(String[] ids);

    /**
     * 删除报告基本信息信息
     *
     * @param id 报告基本信息ID
     * @return 结果
     */
    int deleteReportBaseinfoById(Integer id);

    boolean save(ReportBaseinfoModel reportBaseinfoModel);

    boolean update(ReportBaseinfoModel reportBaseinfoModel);
}
